// 引入jwt-simple模块
const jwt = require("jwt-simple")

//封装一个jwtEncode加码函数
const jwtEncode = (adminName, secret) => {
    return jwt.encode({
        adminName,
        exp: Date.now() / 1000 + 60 * 60 * 24 //秒的时间戳
    }, secret)
}

//封装一个jwtDecode解码函数
const jwtDecode = (token, secret) => {
    try {
        const {
            adminName
        } = jwt.decode(token, secret)
        //如果解码成功返回，返回一个对象，对象里面有状态码1，还有username
        return {
            code: 1,
            adminName
        }
    } catch (e) {
        console.log("解码失败", e.message);

        //如果失败返回一个对象，里面的状态码是0
        return {
            code: 0,
        }
    }
}

//暴露
module.exports = {
    jwtEncode,
    jwtDecode
} 